home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / g_man / cat3 / standard / clipplane.z / clipplane
Text File  |  1998-10-20  |  6KB  |  133 lines

  1.  
  2.  
  3.  
  4. cccclllliiiippppppppllllaaaannnneeee((((3333GGGG))))                                                    cccclllliiiippppppppllllaaaannnneeee((((3333GGGG))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      cccclllliiiippppppppllllaaaannnneeee - specify a plane against which all geometry is clipped
  10.  
  11. CCCC SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
  12.      vvvvooooiiiidddd cccclllliiiippppppppllllaaaannnneeee((((iiiinnnnddddeeeexxxx,,,, mmmmooooddddeeee,,,, ppppaaaarrrraaaammmmssss))))
  13.      lllloooonnnngggg iiiinnnnddddeeeexxxx,,,, mmmmooooddddeeee;;;;
  14.      ffffllllooooaaaatttt ppppaaaarrrraaaammmmssss[[[[]]]];;;;
  15.  
  16. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  17.      _i_n_d_e_x    expects an integer in the range 0 through 5, indicating which of
  18.               the 6 clipping planes is being modified.
  19.  
  20.      _m_o_d_e     expects one of three tokens:
  21.  
  22.               CCCCPPPP____DDDDEEEEFFFFIIIINNNNEEEE:  use the plane equation passed in _p_a_r_a_m_s to define a
  23.               clipplane.  The clipplane is neither enabled nor disabled.
  24.  
  25.               CCCCPPPP____OOOONNNN:  enable the (previously defined) clipplane.
  26.  
  27.               CCCCPPPP____OOOOFFFFFFFF:  disable the clipplane. (default)
  28.  
  29.      _p_a_r_a_m_s   expects an array of 4 floats that specify a plane equation.  A
  30.               plane equation is usually thought of as a 4-vector [A,B,C,D].
  31.               In this case, A is the first component of the _p_a_r_a_m_s array, and
  32.               D is the last.  A 4-component vertex array (see vvvv4444ffff) can be
  33.               passed as a plane equation, where vertex X becomes A, Y becomes
  34.               B, etc.  The specified contents of _p_a_r_a_m_s are insignificant when
  35.               _m_o_d_e is CCCCPPPP____OOOONNNN, or CCCCPPPP____OOOOFFFFFFFF.
  36.  
  37. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  38.      Geometry is always clipped against the boundaries of a 6-plane frustum in
  39.      _x, _y, and _z. cccclllliiiippppppppllllaaaannnneeee allows the specification of additional planes, not
  40.      necessarily perpendicular to the _x, _y, or _z axes, against which all
  41.      geometry is clipped.  Up to 6 additional planes can be specified.
  42.      Because the resulting clipping region is always the intersection of the
  43.      (up to) 12 half-spaces, it is always convex.
  44.  
  45.      cccclllliiiippppppppllllaaaannnneeee specifies a half-space using a 4-component plane equation.
  46.      When it is called with mode CCCCPPPP____DDDDEEEEFFFFIIIINNNNEEEE, this object-coordinate plane
  47.      equation is transformed to eye-coordinates using the inverse of the
  48.      current ModelView matrix.
  49.  
  50.      A defined clipplane is then enabled by calling cccclllliiiippppppppllllaaaannnneeee with the CCCCPPPP____OOOONNNN
  51.      argument, and with arbitrary values passed in _p_a_r_a_m_s.  While drawing
  52.      after a clipplane has been defined and enabled, each vertex is
  53.      transformed to eye-coordinates, where it is dotted with the transformed
  54.      clipping plane equation.  Eye-coordinate vertexes whose dot product with
  55.      the transformed clipping plane equation is positive or zero are in, and
  56.      require no clipping.  Those eye-coordinate vertexes whose dot product is
  57.      negative are clipped.  Because cccclllliiiippppppppllllaaaannnneeee clipping is done in eye-
  58.      coordinates, changes to the projection matrix have no effect on its
  59.      operation.
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. cccclllliiiippppppppllllaaaannnneeee((((3333GGGG))))                                                    cccclllliiiippppppppllllaaaannnneeee((((3333GGGG))))
  71.  
  72.  
  73.  
  74.      By default all six clipping planes are undefined and disabled.  The
  75.      behavior of an enabled but undefined clipplane is undefined.
  76.  
  77. NNNNOOOOTTTTEEEESSSS
  78.      IRIS-4D models G, GT, and GTX, and the Personal Iris, do not implement
  79.      cccclllliiiippppppppllllaaaannnneeee.  Use ggggeeeettttggggddddeeeesssscccc to determine whether user-defined clipping
  80.      planes are supported.
  81.  
  82.      cccclllliiiippppppppllllaaaannnneeee cannot be used while mmmmmmmmooooddddeeee is MMMMSSSSIIIINNNNGGGGLLLLEEEE.
  83.  
  84.      A point and a normal are converted to a plane equation in the following
  85.      manner:
  86.  
  87.           point = [Px,Py,Pz]
  88.  
  89.           normal = |Nx|
  90.                    |Ny|
  91.                    |Nz|
  92.  
  93.           plane equation = |A|
  94.                            |B|
  95.                            |C|
  96.                            |D|
  97.               A = Nx
  98.               B = Ny
  99.               C = Nz
  100.               D = -[Px,Py,Pz] dot |Nx|
  101.                          |Ny|
  102.                          |Nz|
  103.  
  104.  
  105. BBBBUUUUGGGGSSSS
  106.      On Impact and Infinite Reality cccclllliiiippppppppllllaaaannnneeee cannot be used with ddddeeeepppptttthhhhccccuuuueeee
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.